package com.gzsxy.lesson01.udp.liaotian;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.*;

/**
 * udp 发送端
 */
public class UdpSenderDemo01 {
    public static void main(String[] args) throws Exception {
        //设置发送端的端口
        DatagramSocket socket = new DatagramSocket(8888);

        //准备数据： 控制台读取System.in   InputStreamReader获取控制台字符串输入流
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        while (true) {

            //readLine可以一次性获取全部的数据 ，这时BufferedReader特有的方法；
            // 传统必须要new char[1024]；  (len =reader.read(char) !=-1)
            //System.out.println(new String(char,0,len))输出

            String data = reader.readLine();
            byte[] datas = data.getBytes();
            //数据，数据的长度起始，要发送给谁
            DatagramPacket packet = new DatagramPacket(datas, 0, datas.length,
                    new InetSocketAddress("localhost", 6666));

            //发送包
            socket.send(packet);
            if (data.equals("bye")) {
                break;
            }
        }
        //关闭
        socket.close();


    }
}
